export function 是某开头(str, 某) {
	const res = str.startsWith(某);
	return res;
}

export function 全局替换一数组对应元素(str, arr) {
	for (let s of arr) {
		// i不区分大小写
		const regex = new RegExp(`${s[0]}`, 'gi');
		str = str.replace(regex, s[1]);
	}
	return str;
}

export function 阿拉伯数字转中文(str, 关键字) {
	const regex = new RegExp(`([\\d])([${关键字}])`, 'g');
	let result = str;
	let match;
	while ((match = regex.exec(result)) !== null) {
		let number = parseInt(match[1]);
		let 中数 = 找对应中数(number)
		result = result.replace(match[1], 中数);
	}
	return result;
}

export const 中数对应阿拉伯 = {
	'零': 0,
	'一': 1,
	'二': 2,
	'三': 3,
	'四': 4,
	'五': 5,
	'六': 6,
	'七': 7,
	'八': 8,
	'九': 9,
	'十': 10,
	'百': 100,
	'千': 1000,
	'万': 10000,
	'亿': 100000000
};

function 找对应中数(arabicNumber) {
	for (const chineseNumber in 中数对应阿拉伯) {
		if (中数对应阿拉伯[chineseNumber] === arabicNumber) {
			return chineseNumber;
		}
	}
	return null;
}

export function 替换全部字符(str, 被替换 = "：", 替换成 = "") {
	const regexp = new RegExp(被替换, 'g');
	str = str.replace(regexp, 替换成);
	return str
}

export const 提取给定字符串组 = (搜索范围, 关键词组) => {
	const result = [];
	for (let char of 搜索范围) {
		if (关键词组.some(关键词 => 关键词.includes(char))) {
			if (!result.includes(char)) {
				result.push(char);
			}
		}
	}
	return result;
}

export const 取首尾字符 = (str) => {
	if (str.length <= 8) {
		return str;
	}
	const firstFour = str.slice(0, 4);
	const lastFour = str.slice(-4);
	return firstFour + '...' + lastFour;
}